home *** CD-ROM | disk | FTP | other *** search
- //------------------------------------------------------------------------------
- // File: $$DLL_NAME$$.h
- //
- // Desc: Custom interface for $$INTERFACE_NAME$$
- //
- // Author: $$TOOL_AUTHOR$$
- //
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //------------------------------------------------------------------------------
-
- /////////////////////////////////////////////////////////////////////////////
- // TODO List:
- $$IF(SUPPORT_DM_IMEDPARAM || SUPPORT_DM_DMP)
- // - Define parameters for the DMTool in the _$$TOOLID_NAME$$Params struct
- $$ENDIF
- // - Add custom interface methods if any
- //
- /////////////////////////////////////////////////////////////////////////////
-
- #ifndef _$$TOOL_DEFINE$$_INTERFACE_
- #define _$$TOOL_DEFINE$$_INTERFACE_
-
- $$IF(SUPPORT_DM_IMEDPARAM || SUPPORT_DM_DMP)
- ///////////////////////////////////////////////////////////////////////////////
- // Parameter Info
- // struct to hold the DMTool's Parameters
- typedef struct _$$TOOLID_NAME$$Params
- {
- $$IF(EMPTY_TOOL)
- // TODO: Define parameters for the DMTool
- DWORD dwParam1; // NOTE: dwParam1 is provided as an example
- $$ELSE // Sample Tool
- DWORD dwNumber;
- DWORD dwDelay;
- $$ENDIF
-
- } $$TOOLID_NAME$$Params, *LP$$TOOLID_NAME$$Params;
- typedef const $$TOOLID_NAME$$Params *LPC$$TOOLID_NAME$$Params;
- $$ENDIF
-
- #ifdef __cplusplus
- extern "C" {
- #endif /* C++ */
-
- /* Forward Declarations */
- #ifdef __cplusplus
- typedef class $$CLASS_NAME$$ $$CLASS_NAME$$;
- #else
- typedef struct $$CLASS_NAME$$ $$CLASS_NAME$$;
- #endif /* __cplusplus */
-
- $$IF(SUPPORT_DM_DMP)
- #ifdef __cplusplus
- typedef class $$CLASS_NAME$$Prop $$CLASS_NAME$$Prop;
- #else
- typedef struct $$CLASS_NAME$$Prop $$CLASS_NAME$$Prop;
- #endif /* __cplusplus */
- $$ENDIF
-
- interface $$INTERFACE_NAME$$;
- #ifndef __cplusplus
- typedef interface $$INTERFACE_NAME$$ $$INTERFACE_NAME$$;
- #endif /* C++ */
-
- /* Interface Definition */
- #undef INTERFACE
- #define INTERFACE $$INTERFACE_NAME$$
- DECLARE_INTERFACE_($$INTERFACE_NAME$$, IUnknown)
- {
- // $$INTERFACE_NAME$$ methods
- $$IF(SUPPORT_DM_IMEDPARAM || SUPPORT_DM_DMP)
- STDMETHOD(SetAllParameters) (THIS_ LPC$$TOOLID_NAME$$Params pc$$TOOLID_NAME$$Params) PURE;
- STDMETHOD(GetAllParameters) (THIS_ LP$$TOOLID_NAME$$Params p$$TOOLID_NAME$$Params) PURE;
- $$ENDIF
-
- // TODO: Add your custom interface methods here
- $$IF(!EMPTY_TOOL) // Sample Tool
- STDMETHOD_(void, SetEchoNum) (DWORD dwEchoNum) PURE;
- STDMETHOD_(void, SetDelay) (MUSIC_TIME mtDelay) PURE;
- $$ENDIF
- };
-
- /* GUID Definition */
- DEFINE_GUID(CLSID_$$TOOL_DEFINE$$, $$TOOL_CLSID$$);
- $$IF(SUPPORT_DM_DMP)
- DEFINE_GUID(CLSID_$$TOOL_DEFINE$$PROP, $$TOOL_PROP_CLSID$$);
- $$ENDIF
- DEFINE_GUID(IID_$$INTERFACE_NAME$$, $$TOOL_IID$$);
-
- #ifdef __cplusplus
- class DECLSPEC_UUID("$$TOOL_CLSID_UUID$$") $$TOOLID_NAME$$;
- $$IF(SUPPORT_DM_DMP)
- class DECLSPEC_UUID("$$TOOL_PROP_CLSID_UUID$$") $$TOOLID_NAME$$Prop;
- $$ENDIF
- #endif
-
- #ifdef __cplusplus
- }; /* extern "C" */
- #endif /* C++ */
-
- #endif // _$$TOOL_DEFINE$$_INTERFACE_
-
-